/**
 * 
 */
package ar.com.personalTravellers.executables;

import ar.com.personalTravellers.generators.ConfigurationParameterDataGenerator;
import ar.com.personalTravellers.generators.CountryFileDataGenerator;
import ar.com.personalTravellers.generators.HotelContactsFileDataGenerator;
import ar.com.personalTravellers.generators.HotelDescriptionInternationalizableDataGenerator;
import ar.com.personalTravellers.generators.HotelFileDataGenerator;
import ar.com.personalTravellers.generators.HotelRoomsFileDataGenerator;
import ar.com.personalTravellers.generators.LanguageDataGenerator;
import ar.com.personalTravellers.generators.NeighborhoodFileDataGenerator;
import ar.com.personalTravellers.generators.ParameterAreaDataGenerator;
import ar.com.personalTravellers.generators.RoleDataGenerator;
import ar.com.personalTravellers.generators.RoomFileDataGenerator;
import ar.com.personalTravellers.generators.UserDataGenerator;

import com.angel.common.interfaces.Executable;
import com.angel.data.generator.base.DataGeneratorRunner;
import com.angel.data.generator.builders.DataGeneratorRunnerBuilder;
import com.angel.data.generator.builders.impl.DataGeneratorAnnotationRunnerBuilder;
import com.angel.data.generator.builders.impl.DataGeneratorRunnerImplBuilder;

/**
 * @author Guillermo Salazar
 * @since 27/Agosto/2009.
 *
 */
public class DataGeneratorExecutable implements Executable {

	/* (non-Javadoc)
	 * @see com.angel.common.interfaces.Executable#execute()
	 */
	public void execute() {
		DataGeneratorRunnerBuilder builder = new DataGeneratorRunnerImplBuilder();
        builder.addDataGeneratorClass(RoleDataGenerator.class);
        builder.addDataGeneratorClass(NeighborhoodFileDataGenerator.class);
        builder.addDataGeneratorClass(RoomFileDataGenerator.class);
        builder.addDataGeneratorClass(ConfigurationParameterDataGenerator.class);
        builder.addDataGeneratorClass(LanguageDataGenerator.class);
        builder.addDataGeneratorClass(HotelFileDataGenerator.class);
        builder.addDataGeneratorClass(ParameterAreaDataGenerator.class);
        builder.addDataGeneratorClass(HotelRoomsFileDataGenerator.class);
        builder.addDataGeneratorClass(CountryFileDataGenerator.class);
        builder.addDataGeneratorClass(HotelDescriptionInternationalizableDataGenerator.class);
        builder.addDataGeneratorClass(HotelContactsFileDataGenerator.class);
        builder.addDataGeneratorClass(UserDataGenerator.class);
		DataGeneratorRunner runner = builder.buildDataGeneratorRunner();
		runner.generateData();
		runner.finalizeGenerator();
	}
}
